package com.hsm5;

public class PetStore {  //这是一个工厂类，用来创建对象用的，用父类进行传参，
    //宠物店的作用是提供动物
    //方法：提供动物
    //加static的原因就是可以直接用类名加方法名进行调用，不用创建对象
    public static Animal getAnimal(String petName) { //这里把父类当做方法返回值，而具体返回的是子类，因此也是多态的应用
        Animal a = null;
        if ("猫".equals(petName)){ //petName.equals("猫")这样写容易出现空指针异常
            a = new Cat();
        }
        if("狗".equals(petName)){
            a = new Dog();
        }
        if("猪".equals(petName)){
            a = new Dog();
        }
        return a;
    }
}
